BASS_WASAPI_DEVICEINFO structure

Used with BASS_GetDeviceInfo to retrieve information on a device.

typedef struct {
    char *name;
    char *id;
    DWORD type;
    DWORD flags;
    float minperiod;
    float defperiod;
    DWORD mixfreq;
    DWORD mixchans;
} BASS_WASAPI_DEVICEINFO;

Members
nameDescription of the device.
idThe device's ID.
typeThe type of device, which may be one of the following.
BASS_WASAPI_TYPE_NETWORKDEVICE
BASS_WASAPI_TYPE_SPEAKERS
BASS_WASAPI_TYPE_LINELEVEL
BASS_WASAPI_TYPE_HEADPHONES
BASS_WASAPI_TYPE_MICROPHONE
BASS_WASAPI_TYPE_HEADSET
BASS_WASAPI_TYPE_HANDSET
BASS_WASAPI_TYPE_DIGITAL
BASS_WASAPI_TYPE_SPDIF
BASS_WASAPI_TYPE_HDMI
BASS_WASAPI_TYPE_UNKNOWN
flagsThe device's current and input/output status... a combination of these flags.
BASS_DEVICE_ENABLEDThe device is enabled. It will not be possible to initialize the device if this flag is not present.
BASS_DEVICE_DEFAULTThe device is the system default.
BASS_DEVICE_INITThe device is initialized, ie. BASS_WASAPI_Init has been called.
BASS_DEVICE_INPUTThe device is a recording device, otherwise it is an output device.
BASS_DEVICE_LOOPBACKThe device is a loopback input device; it captures the sound from an output device.
minperiodThe minimum update period in seconds.
defperiodThe default update period in seconds.
mixfreqThe sample rate in shared mode.
mixchansThe number of channels in shared mode.

Remarks
When a device is disabled/disconnected, it is still retained in the device list.

The corresponding BASS (DirectSound) device can be found by its BASS_DEVICEINFO "driver" member matching id.

See also
BASS_WASAPI_GetDeviceInfo